/**
 * @Copyright ®2015 Sinosoft Co. Ltd. All rights reserved.<br/>
 * 项目名称 : 中科软支付平台
 * 创建日期 : 2016年10月22日
 * 修改历史 : 
 *     1. [2016年10月22日]创建文件 by 刘育嘉
 */
package com.sinosoft.sinopay.web.weixinpay.dto;

import com.thoughtworks.xstream.annotations.XStreamAlias;

/** 
 * 【微信支付回调通知DTO】
 * @author liuyujia
 * @date 2016年12月27日 下午4:22:35 
 * @version V1.0
 */
@XStreamAlias("xml")

public class WechatNotifyRequestDTO {

	/**返回状态码*/
	private String return_code;	//通信标识，非交易标识
	/**返回信息*/
	private String	return_msg;	//返回信息，如非空，为错误原因

	//以下字段在return_code为SUCCESS的时候有返回
	/**应用ID*/
	private String appid;	//微信开放平台审核通过的应用APPID
	/**商户号*/
	private String mch_id;	//微信支付分配的商户号
	/**设备号*/
	private String device_info;	//微信支付分配的终端设备号，
	/**随机字符串*/
	private String nonce_str;	//随机字符串，不长于32位
	/**签名*/
	private String sign;	//签名，详见签名算法
	/**业务结果*/
	private String result_code;		//SUCCESS/FAIL
	/**错误代码*/
	private String err_code;	//错误返回的信息描述
	/**错误代码描述*/
	private String err_code_des;	//错误返回的信息描述
	/**用户标识*/
	private String openid;	//用户在商户appid下的唯一标识
	/**是否关注公众账号*/
	private String is_subscribe;	//用户是否关注公众账号，Y-关注，N-未关注，仅在公众账号类型支付有效
	/**交易类型*/
	private String trade_type;    //APP
	/**付款银行*/	
	private String bank_type;	//银行类型，采用字符串类型的银行标识，银行类型见银行列表
	/**总金额*/
	private int total_fee;	//订单总金额，单位为分
	/**货币种类*/
	private String fee_type;	//默认人民币：CNY，其他值列表详见货币类型
	/**现金支付金额*/
	private int cash_fee;	//现金支付金额订单现金支付金额，详见支付金额
	/**现金支付货币类型*/
	private String cash_fee_type;	//CNY	货币类型，符合ISO4217标准的三位字母代码，默认人民币：CNY，其他值列表详见货币类型
	/**代金券或立减优惠金额*/
	private int coupon_fee;	//代金券或立减优惠金额<=订单总金额，订单总金额-代金券或立减优惠金额=现金支付金额，详见支付金额
	/**代金券或立减优惠使用数量*/
	private int coupon_count;	//代金券或立减优惠使用数量
	/**代金券或立减优惠ID*/
	private String coupon_id_$n;	//代金券或立减优惠ID,$n为下标，从0开始编号
	/**单个代金券或立减优惠支付金额*/	
	private String coupon_fee_$n;	//单个代金券或立减优惠支付金额,$n为下标，从0开始编号
	/**微信支付订单号*/
	private String transaction_id;	//微信支付订单号
	/**商户订单号*/	
	private String out_trade_no;	//商户系统的订单号，与请求一致。
	/**商家数据包*/	
	private String attach;	//商家数据包，原样返回
	/**支付完成时间*/
	private String time_end;
	/**
	 * @return the return_code
	 */
	public String getReturn_code() {
		return return_code;
	}
	/**
	 * @param return_code the return_code to set
	 */
	public void setReturn_code(String return_code) {
		this.return_code = return_code;
	}
	/**
	 * @return the return_msg
	 */
	public String getReturn_msg() {
		return return_msg;
	}
	/**
	 * @param return_msg the return_msg to set
	 */
	public void setReturn_msg(String return_msg) {
		this.return_msg = return_msg;
	}
	/**
	 * @return the appid
	 */
	public String getAppid() {
		return appid;
	}
	/**
	 * @param appid the appid to set
	 */
	public void setAppid(String appid) {
		this.appid = appid;
	}
	/**
	 * @return the mch_id
	 */
	public String getMch_id() {
		return mch_id;
	}
	/**
	 * @param mch_id the mch_id to set
	 */
	public void setMch_id(String mch_id) {
		this.mch_id = mch_id;
	}
	/**
	 * @return the device_info
	 */
	public String getDevice_info() {
		return device_info;
	}
	/**
	 * @param device_info the device_info to set
	 */
	public void setDevice_info(String device_info) {
		this.device_info = device_info;
	}
	/**
	 * @return the nonce_str
	 */
	public String getNonce_str() {
		return nonce_str;
	}
	/**
	 * @param nonce_str the nonce_str to set
	 */
	public void setNonce_str(String nonce_str) {
		this.nonce_str = nonce_str;
	}
	/**
	 * @return the sign
	 */
	public String getSign() {
		return sign;
	}
	/**
	 * @param sign the sign to set
	 */
	public void setSign(String sign) {
		this.sign = sign;
	}
	/**
	 * @return the result_code
	 */
	public String getResult_code() {
		return result_code;
	}
	/**
	 * @param result_code the result_code to set
	 */
	public void setResult_code(String result_code) {
		this.result_code = result_code;
	}
	/**
	 * @return the err_code
	 */
	public String getErr_code() {
		return err_code;
	}
	/**
	 * @param err_code the err_code to set
	 */
	public void setErr_code(String err_code) {
		this.err_code = err_code;
	}
	/**
	 * @return the err_code_des
	 */
	public String getErr_code_des() {
		return err_code_des;
	}
	/**
	 * @param err_code_des the err_code_des to set
	 */
	public void setErr_code_des(String err_code_des) {
		this.err_code_des = err_code_des;
	}
	/**
	 * @return the openid
	 */
	public String getOpenid() {
		return openid;
	}
	/**
	 * @param openid the openid to set
	 */
	public void setOpenid(String openid) {
		this.openid = openid;
	}
	/**
	 * @return the is_subscribe
	 */
	public String getIs_subscribe() {
		return is_subscribe;
	}
	/**
	 * @param is_subscribe the is_subscribe to set
	 */
	public void setIs_subscribe(String is_subscribe) {
		this.is_subscribe = is_subscribe;
	}
	/**
	 * @return the trade_type
	 */
	public String getTrade_type() {
		return trade_type;
	}
	/**
	 * @param trade_type the trade_type to set
	 */
	public void setTrade_type(String trade_type) {
		this.trade_type = trade_type;
	}
	/**
	 * @return the bank_type
	 */
	public String getBank_type() {
		return bank_type;
	}
	/**
	 * @param bank_type the bank_type to set
	 */
	public void setBank_type(String bank_type) {
		this.bank_type = bank_type;
	}
	/**
	 * @return the fee_type
	 */
	public String getFee_type() {
		return fee_type;
	}
	/**
	 * @param fee_type the fee_type to set
	 */
	public void setFee_type(String fee_type) {
		this.fee_type = fee_type;
	}
	/**
	 * @return the cash_fee_type
	 */
	public String getCash_fee_type() {
		return cash_fee_type;
	}
	/**
	 * @param cash_fee_type the cash_fee_type to set
	 */
	public void setCash_fee_type(String cash_fee_type) {
		this.cash_fee_type = cash_fee_type;
	}
	/**
	 * @return the coupon_id_$n
	 */
	public String getCoupon_id_$n() {
		return coupon_id_$n;
	}
	/**
	 * @param coupon_id_$n the coupon_id_$n to set
	 */
	public void setCoupon_id_$n(String coupon_id_$n) {
		this.coupon_id_$n = coupon_id_$n;
	}
	/**
	 * @return the coupon_fee_$n
	 */
	public String getCoupon_fee_$n() {
		return coupon_fee_$n;
	}
	/**
	 * @param coupon_fee_$n the coupon_fee_$n to set
	 */
	public void setCoupon_fee_$n(String coupon_fee_$n) {
		this.coupon_fee_$n = coupon_fee_$n;
	}
	/**
	 * @return the transaction_id
	 */
	public String getTransaction_id() {
		return transaction_id;
	}
	/**
	 * @param transaction_id the transaction_id to set
	 */
	public void setTransaction_id(String transaction_id) {
		this.transaction_id = transaction_id;
	}
	/**
	 * @return the out_trade_no
	 */
	public String getOut_trade_no() {
		return out_trade_no;
	}
	/**
	 * @param out_trade_no the out_trade_no to set
	 */
	public void setOut_trade_no(String out_trade_no) {
		this.out_trade_no = out_trade_no;
	}
	/**
	 * @return the attach
	 */
	public String getAttach() {
		return attach;
	}
	/**
	 * @param attach the attach to set
	 */
	public void setAttach(String attach) {
		this.attach = attach;
	}
	/**
	 * @return the time_end
	 */
	public String getTime_end() {
		return time_end;
	}
	/**
	 * @param time_end the time_end to set
	 */
	public void setTime_end(String time_end) {
		this.time_end = time_end;
	}
	/**
	 * @return the total_fee
	 */
	public int getTotal_fee() {
		return total_fee;
	}
	/**
	 * @param total_fee the total_fee to set
	 */
	public void setTotal_fee(int total_fee) {
		this.total_fee = total_fee;
	}
	/**
	 * @return the cash_fee
	 */
	public int getCash_fee() {
		return cash_fee;
	}
	/**
	 * @param cash_fee the cash_fee to set
	 */
	public void setCash_fee(int cash_fee) {
		this.cash_fee = cash_fee;
	}
	/**
	 * @return the coupon_fee
	 */
	public int getCoupon_fee() {
		return coupon_fee;
	}
	/**
	 * @param coupon_fee the coupon_fee to set
	 */
	public void setCoupon_fee(int coupon_fee) {
		this.coupon_fee = coupon_fee;
	}
	/**
	 * @return the coupon_count
	 */
	public int getCoupon_count() {
		return coupon_count;
	}
	/**
	 * @param coupon_count the coupon_count to set
	 */
	public void setCoupon_count(int coupon_count) {
		this.coupon_count = coupon_count;
	}
	
}
